package com.rimi.service.impl;

import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.rimi.bean.User;
import com.rimi.dao.UserDao;
import com.rimi.service.UserImageService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;

@Service
public class UserImageServiceImpl extends ServiceImpl<UserDao, User> implements UserImageService {
    /**
     * 上传用户图片，并获取存储图片的地址
     * @param request
     * @param userId 用户id ，根据用户id添加一个文件夹
     * @param fileName 上传的图片
     * @return 用户存储图片的地址
     */
    @Override
    public String addUserImageUrl(HttpServletRequest request, String userId, MultipartFile fileName) {
        System.out.println("hehe");
        // 获取存储照片的文件夹
        String filePath = request.getServletContext().getRealPath("/images/" + userId + "/");
        System.out.println(filePath);
        // 获取文件名
        String name = fileName.getOriginalFilename();
        System.out.println("===============================" + name);
        //获取文件夹
        File file = new File(filePath);
        // 如果文件夹不存在，则创建一个新的文件夹
        if (!file.exists()) {
            file.mkdirs();
        }
        // 在本地创建文件
        try {
            fileName.transferTo(new File(filePath, name));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("创建本地图片失败");
        }
        return "/images/" + userId + "/"+name;
    }
}
